﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MGI.AccesoDatos;
using ComunesMGI.DataTypes;

namespace MGI.Logica
{
    /// <summary>
    /// manejador de usuarios
    /// </summary>
    class MgrUsuarios
    {

        #region Singleton
        /// <summary>
        /// implementación de singleton para el manejador de usuarios
        /// </summary>
        static private MgrUsuarios _instance;

        /// <summary>
        /// implementación de singleton para el manejador de usuarios
        /// retorna una instancia del manejador
        /// </summary>
        /// <returns>MgrUsuarios</returns>
        static public MgrUsuarios getInstance()
        {
            if (_instance == null)
            {
                _instance = new MgrUsuarios();
            }
            return _instance;
        }

        #endregion

        /// <summary>
        /// devuelve el password del usuario pasado por parametro
        /// </summary>
        /// <param name="usuario"></param>
        /// <returns>string</returns>
        public string getPasswordUsuario(string usuario) 
        {
            AccesoDatosFactory accesoDatos = AccesoDatosFactory.getInstance();
            IDatosUsuarios datosUsuarios = accesoDatos.getIDatosUsuarios();

            return datosUsuarios.getPasswordUsuario(usuario);
        }


        internal List<DataUsuario> getUsuarios()
        {
            AccesoDatosFactory accesoDatos = AccesoDatosFactory.getInstance();
            IDatosUsuarios datosUsuarios = accesoDatos.getIDatosUsuarios();
            return datosUsuarios.getUsuarios();
        }
    }
}
